package org.budo.netty.servlet.server.event;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

/**
 * @author lmw
 */
public interface EventBus {
    void contextInitialized(ServletContext ServletContext); // ServletContextListener

    void contextDestroyed(ServletContext ServletContext);

    void servletContextAttributeSetted(ServletContext ServletContext, String name, Object value); // ServletContextAttributeListener

    void requestInitialized(HttpServletRequest request); // ServletRequestListener

    void requestDestroyed(HttpServletRequest request);

    void sessionCreated(HttpSession session); // HttpSessionListener

    void sessionDestroyed(HttpSession session);

    void sessionAttributeSetted(HttpSession session, String name, Object value); // HttpSessionAttributeListener

    void sessionAttributeRemoved(HttpSession session, String name);

    void requestAttributeSetted(HttpServletRequest request, String name, Object value);// ServletRequestAttributeListener

    void requestAttributeRemove(HttpServletRequest request, String name);

    // AsyncListener

    // HttpSessionBindingListener

    // HttpSessionActivationListener
}